package Controller;

import java.util.Date;

import org.zkoss.bind.ValidationContext;
import org.zkoss.bind.validator.AbstractValidator;
/**
 * Validator class determining whether dates are ordered correctly
 * @author Rupert
 *
 */
public class ExamEditorInformationValidator extends AbstractValidator{

	@Override
	public void validate(ValidationContext ctx) {
		Date examDate = (Date) ctx.getProperties("examDate")[0].getValue();
		Date evaluationBeginDate = (Date) ctx.getProperties("evaluationBeginDate")[0].getValue();
		Date evaluationEndDate = (Date) ctx.getProperties("evaluationEndDate")[0].getValue();
		
		String error = "Allgemeine Informationen: Achten Sie auf eine sinnvolle Reihenfolge der eingegebenen Datums!";
		
		if(examDate.after(evaluationBeginDate)){
			this.addInvalidMessage(ctx, "dateMistake", error);	
		}
		if(examDate.after(evaluationEndDate)){
			this.addInvalidMessage(ctx, "dateMistake", error);	
		}
		if(evaluationBeginDate.after(evaluationEndDate)){
			this.addInvalidMessage(ctx, "dateMistake", error);	
		}
	}
	
}
